package modelo;

import java.sql.Date;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;

@Entity
public class ListaPrecios {
	@Id
	private int idLista;
	private Date fechaVigenciaDesde;
	private Date fechaVigenciaHasta;
	private boolean isVigente;
	private float descuentoLista;
	@OneToMany(cascade = CascadeType.ALL)
	@JoinColumn(name = "idLista")
	private Set<ItemLP> itemslistaprecios;

	public ListaPrecios() {
		super();
	}

	public ListaPrecios(int idLista, Date fechaVigenciaDesde,
			Date fechaVigenciaHasta, boolean isVigente, float descuentoLista) {
		super();

		this.idLista = idLista;
		this.fechaVigenciaDesde = fechaVigenciaDesde;
		this.fechaVigenciaHasta = fechaVigenciaHasta;
		this.isVigente = isVigente;
		this.descuentoLista = descuentoLista;
	}

	/**
	 * @return the idLista
	 */
	public int getIdLista() {
		return idLista;
	}

	/**
	 * @param idLista
	 *            the idLista to set
	 */
	public void setIdLista(int idLista) {
		this.idLista = idLista;
	}

	/**
	 * @return the fechaVigencia
	 */
	public Date getFechaVigenciaDesde() {
		return fechaVigenciaDesde;
	}

	/**
	 * @param fechaVigencia
	 *            the fechaVigencia to set
	 */
	public void setFechaVigenciaDesde(Date fechaVigenciaDesde) {
		this.fechaVigenciaDesde = fechaVigenciaDesde;
	}

	/**
	 * @return the fechaVigencia
	 */
	public Date getFechaVigenciaHasta() {
		return fechaVigenciaHasta;
	}

	/**
	 * @param fechaVigencia
	 *            the fechaVigencia to set
	 */
	public void setFechaVigenciaHasta(Date fechaVigenciaHasta) {
		this.fechaVigenciaHasta = fechaVigenciaHasta;
	}

	/**
	 * @return the isVigente
	 */
	public boolean isVigente() {
		return isVigente;
	}

	/**
	 * @param isVigente
	 *            the isVigente to set
	 */
	public void setVigente(boolean isVigente) {
		this.isVigente = isVigente;
	}

	/**
	 * @return the descuentoLista
	 */
	public float getDescuentoLista() {
		return descuentoLista;
	}

	/**
	 * @param descuentoLista
	 *            the descuentoLista to set
	 */
	public void setDescuentoLista(float descuentoLista) {
		this.descuentoLista = descuentoLista;
	}

	public void setItemslistaprecios(Set<ItemLP> items) {
		this.itemslistaprecios = items;
	}

	public Set<ItemLP> getItemslistaprecios() {
		return itemslistaprecios;
	}

	public void agregarItemLista(Rodamiento rodamiento, int StockDisp,
			float PrecioUnit, float porcDescuento) {
		itemslistaprecios.add(new ItemLP(rodamiento, StockDisp, PrecioUnit,
				porcDescuento));
	}

}
